1 //-------------------------------------------------------------------------------------------------
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // Wrapper for CComPtrEx which can handle inheritance scenarios where there are multiple paths
8 //-------------------------------------------------------------------------------------------------
13 class CComPtrEx
: public CComPtrBase
<T
>
19 CComPtrEx(T
* lp
) throw() :
24 CComPtrEx(_In_
const CComPtrEx
<T
>& lp
) throw() :
28 T
* operator=(_In_opt_ T
* lp
) throw()
33 TemplateUtil::Swap(&p
, &sp
.p
);
37 T
* operator=(_In_
const CComPtrEx
<T
>& lp
) throw()
42 TemplateUtil::Swap(&p
, &sp
.p
);